package cn.hss.set;

import java.util.Scanner;
import java.util.SortedSet;
import java.util.TreeSet;

/**本次有5名学生参加考试，当老师录入每名学生的成绩后，
 * 程序按照从底到高的排列顺序显示学生的成绩。
 * 此外，老师可以查询本次考试是否有满分的学生存在，不及格的有哪些，
 * 90分以上的学生有哪些
 * @author 作者：HeShaoShuai
 * @Email 邮箱：2569819541@qq.com
 * @Date 日期：2023/4/27 15:17
 * @Package 包名：cn.hss.set
 * @Project 项目名：JavaSE
 * @Version 1.0
 */
public class TreeSetDemo {
	public static void main(String[] args) {
		//创建TreeSet集合
		TreeSet<Double> treeSet = new TreeSet<>();
		Scanner sca = new Scanner(System.in);
		System.out.println("---------学生成绩管理系统-----------------");
		for (int i=0;i<5;i++){
			System.out.println("第"+(i+1)+"个学生成绩：");
			double score = sca.nextDouble();
			//将学生的成绩添加到TreeSet集合中
			//将获取到的学生转换为Double类型
			treeSet.add(Double.valueOf(score));
		}
		//按照从低到高的顺序显示学生成绩，即遍历treeSet集合
		treeSet.forEach(scoreSet->System.out.print(scoreSet+" "));
		System.out.println("请输入要查询的成绩：");
		double searchScore = sca.nextDouble();
		//判断是否存在要查询的成绩
		if(treeSet.contains(searchScore)){
			System.out.println("成绩为"+searchScore+"的学生存在");
		}else{
			System.out.println("成绩为"+searchScore+"的学生不存在");
		}
		System.out.println("\n不及格的成绩有：");
		//查询成绩不及格的学生
		SortedSet<Double> headSet = treeSet.headSet(60.0);
		for (int i=0;i<headSet.toArray().length;i++){
			System.out.println(headSet.toArray()[i]+" ");
		}
		//查询成绩在90分以上的学生
		System.out.println("\n90分以上的成绩有：");
		SortedSet<Double> tailSet = treeSet.tailSet(90.0);
		for (int i=0;i<tailSet.toArray().length;i++){
			System.out.println(tailSet.toArray()[i]+" ");
		}
	}
}
